package com.coffee.sku.service.inquire.dao;

import com.coffee.sku.api.inquire.query.InquireSkuContentQuery;
import com.coffee.sku.api.inquire.rep.InquireSkuListRep;
import com.coffee.sku.api.inquire.result.InquireSkuContentResult;
import com.coffee.sku.api.sku.req.SkuListReq;
import com.coffee.sku.service.inquire.bean.InquireSkuContent;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface InquireSkuContentDao {
    public InquireSkuContent findById(Integer id);

    public InquireSkuContent findInquireSkuContentBySkuId(Integer skuId);

    public InquireSkuContentResult findBySkuId(Integer skuId);

    public InquireSkuContent findByIdForUpdate(Integer id);

    public List<InquireSkuContent> findByIds(@Param("idList") List<Integer> idList);

    public Integer count(@Param("param") InquireSkuContentQuery param);

    public List<InquireSkuContent> page(@Param("param") InquireSkuContentQuery param, @Param("offset") Integer offset, @Param("rows") Integer rows);

    public InquireSkuContent findFirst(@Param("param") InquireSkuContentQuery param);

    public Integer insert(InquireSkuContent param);

    Integer insertBatch(List<InquireSkuContent> list);

    public void updateById(@Param("param") InquireSkuContent param);

    public Integer deleteById(Integer id);

    public Integer deleteByIds(List<Integer> idList);

    public Integer skuCount(@Param("param") SkuListReq param);

    public List<InquireSkuListRep> skuPage(@Param("param") SkuListReq param, @Param("offset") Integer offset, @Param("rows") Integer rows);

}